package com.dxm.service.impl;


import com.alibaba.fastjson.JSONObject;
import com.dxm.common.utils.DecodeUtil;
import com.dxm.common.utils.DxmUtil;
import com.dxm.common.utils.StringUtil;
import com.dxm.service.OverdueService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.LinkedHashMap;
import java.util.Map;

/**
 * @author Administrator
 */
@Service
@Slf4j
public class OverdueServiceImpl implements OverdueService {
    /** 通道 */
    @Value("${channel}")
    private String channel;

    /** token */
    @Value("${token}")
    private String token;

    /** 逾期接口正式地址 */
    @Value("${overduelist-prod-url}")
    private String url;

    /** 根据条件查询逾期数据 */
    @Override
    public JSONObject getData(Long start, Long end, Integer page_no, Integer page_size) {
        // 封装请求参数
        Map<String, String> map = new LinkedHashMap<>();
        map.put("channel", channel);
        // 贷款成功结束时间0
        map.put("loan_end_time", String.valueOf(end));
        // 贷款成功开始时间
        map.put("loan_start_time", String.valueOf(start));
        // 页码，默认1
        map.put("page_no", String.valueOf(page_no));
        // 分页大小，默认15
        map.put("page_size", String.valueOf(page_size));
        // 版本
        map.put("version", "1");
        // 参数加签
        map.put("sign", DxmUtil.sign(map, token));
        // 发送请求
        String result = DxmUtil.sendPost(url, map);

        if (StringUtil.isNotEmpty(result)) {
            JSONObject jsonObject = JSONObject.parseObject(result);
            return jsonObject;
        }
        log.info("请求度小满逾期接口，响应数据：{}", result);
        return null;
    }

}
